import request from "@/utils/request";
export interface UserInfoVO {
  roles?: any;
  perms?: any;
  avatar?: any;
  createdAt?: string;
  id?: number;
  lastLoginAt?: string;
  name?: string;
  phone?: number;
  roleId?: string;
  username?: string;
  userInfo?: any;
}
export interface PasswordChangeForm {
  oldPassword?: string;
  newPassword?: string;
  confirmPassword?: string;
}
class userAPI {
  /** 获取用户信息 */
  static getUserInfo() {
    return request<any, UserInfoVO[]>({
      url: "/api/super-admin",
      method: "get",
    });
  }

  /**
   * 修改用户
   *
   * @param id 用户ID
   * @param data 用户表单数据
   */
  // static update(id: number, data: UserForm) {
  //   return request({
  //     url: `${USER_BASE_URL}/${id}`,
  //     method: "put",
  //     data: data,
  //   });
  // }

  /**
   * 修改用户密码
   *
   * @param id 用户ID
   * @param password 新密码
   */
  static resetPassword(id?: number, data?: any) {
    return request({
      url: `/api/super-admin/${id}/change-password`,
      method: "put",
      data,
    });
  }

  /** 获取个人中心用户信息 */
  // static getProfile() {
  //   return request<any, UserProfileVO>({
  //     url: `${USER_BASE_URL}/profile`,
  //     method: "get",
  //   });
  // }

  /** 修改个人中心用户信息 */
  // static updateProfile(data: UserProfileForm) {
  //   return request({
  //     url: `${USER_BASE_URL}/profile`,
  //     method: "put",
  //     data: data,
  //   });
  // }

  /** 修改个人中心用户密码 */
  // static changePassword(data: PasswordChangeForm) {
  //   return request({
  //     url: `${USER_BASE_URL}/password`,
  //     method: "put",
  //     data: data,
  //   });
  // }

  /**
   *   发送手机/邮箱验证码
   *
   * @param contact 联系方式  手机号/邮箱
   * @param contactType 联系方式类型 MOBILE:手机;EMAIL:邮箱
   */
  // static sendVerificationCode(contact: string, contactType: string) {
  //   return request({
  //     url: `${USER_BASE_URL}/send-verification-code`,
  //     method: "get",
  //     params: { contact: contact, contactType: contactType },
  //   });
  // }

  /** 绑定个人中心用户手机 */
  // static bindMobile(data: MobileBindingForm) {
  //   return request({
  //     url: `${USER_BASE_URL}/mobile`,
  //     method: "put",
  //     data: data,
  //   });
  // }
}

export default userAPI;
